namespace SharpTalk.Core.Interfaces
{
    using System;
    using System.Collections.Generic;
    using Enums;

    public interface IUserManager 
        : IManager<User>
    {
        User Create(string firstName, string lastName, string nickName, byte[] image, string uri);
        List<User> Find(string firstName, string lastName, string nickName);
        void TrackUserChanges(User tracked, User tracker);
        void TrackUserChanges(User tracked, IEnumerable<User> trackers);
        void TrackUserChanges(IEnumerable<Guid> tracked, User tracker);
        IEnumerable<User> GetUserTrackingList(User user);
    }
}